var upload = (function () {
	var  qiniu_token = function(container,browse_button,cb,callback){
	    $.ajax({
	        type:"POST",
	        url:'https://fmb.fmsecret.cn/investment-app-api/token/',
	        dataType: 'json',
	        error: function() {
	            alert ("ajax请求失败");
	        },
	        success: function(data) {
	            console.log(data);
	            var token = data.token;
	           URl = uploader_qiniu(token,container,browse_button,cb,callback);
	        }
	    })
	};
	
	var uploader_qiniu = function(token,container,browse_button,cb,callback){
	 var uploader = Qiniu.uploader({
	            runtimes: 'html5,flash,html4',    //上传模式,依次退化
	            browse_button:browse_button,       //上传选择的点选按钮，**必需**
	           // uptoken_url: localIds,            //Ajax请求upToken的Url，**强烈建议设置**（服务端提供）
	            uptoken:token, //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
	            //unique_names: true, // 默认 false，key为文件名。若开启该选项，SDK为自动生成上传成功后的key（文件名）。
	            //save_key: true,   // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`，则开启，SDK会忽略对key的处理
	            domain: 'http://7xoor9.com1.z0.glb.clouddn.com/',   //bucket 域名，下载资源时用到，**必需**
	            get_new_uptoken: false,  //设置上传文件的时候是否每次都重新获取新的token
	            container:container,           //上传区域DOM ID，默认是browser_button的父元素，
	            max_file_size: '200mb',           //最大文件体积限制
	            flash_swf_url: 'js/plupload/Moxie.swf',  //引入flash,相对路径
	            max_retries: 3,                   //上传失败最大重试次数
	            dragdrop: true,                   //开启可拖曳上传
	            drop_element:container,        //拖曳上传区域元素的ID，拖曳文件或文件夹后可触发上传
	            chunk_size: '4mb',                //分块上传时，每片的体积
	            auto_start: true,                 //选择文件后自动上传，若关闭需要自己绑定事件触发上传
	            // 可以使用该参数来限制上传文件的类型，大小等，该参数以对象的形式传入，它包括三个属性：
	          filters : {
	              max_file_size : '100mb',
	              prevent_duplicates: true,
	              // Specify what files to browse for
	              mime_types: [
	                  {title : "Image files", extensions : "jpg,gif,png"},
	                  {title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"},
	              ]
	          },
	            init: {
	                'FilesAdded': function(up, files) {
	                    plupload.each(files, function(file) {
	                        // 文件添加进队列后,处理相关的事情
	                        console.log(file);
	                    });
	                },
	                'BeforeUpload': function(up, file) {
	                       // 每个文件上传前,处理相关的事情
	                      console.log("每个文件上传前,处理相关的事情")
	                },
	                'UploadProgress': function(up, file) {
	                       // 每个文件上传时,处理相关的事情
	                    	console.log('每个文件上传时,处理相关的事情')
	                       	console.log(up)
	                       	console.log(file)
			               	console.log(file.percent)
			               	 if(typeof callback == "function"){
	                      		cb(file.percent);
	                      }
	                },
	                'FileUploaded': function(up, file, info) {
	                       // 每个文件上传成功后,处理相关的事情
	                       // 其中 info 是文件上传成功后，服务端返回的json，形式如
	                       // {
	                       //    "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
	                       //    "key": "gogopher.jpg"
	                       //  }
	                       // 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
	                       console.log(up);
	                       console.log(file);
	                       console.log(info);
	                       var domain = up.getOption('domain');
	                       var res = JSON.parse(info);
	                       var sourceLink = domain + res.key; //获取上传成功后的文件的Url
	                       console.log(sourceLink);
	                      if(typeof callback == "function"){
	                      		callback(sourceLink);
	                      }
	                },
	                'Error': function(up, err, errTip) {
	                       //上传出错时,处理相关的事情
	                       console.log(up);
	                       console.log(err)
	                       console.log(errTip)
	                       alert(errTip);
	                },
	                'UploadComplete': function() {
	                       //队列文件处理完毕后,处理相关的事情
	                        console.log("队列文件处理完毕后,处理相关的事情")
	                },
	                'Key': function(up, file) {
	                    // 若想在前端对每个文件的key进行个性化处理，可以配置该函数
	                    // 该配置必须要在 unique_names: false , save_key: false 时才生效
	                    var Dat = new Date();
	                    var year = Dat.getFullYear();
	                    var month = Dat.getMonth()+1;
	                    var day = Dat.getDate();
	                    var hour = Dat.getHours();
	                    var minute = Dat.getMinutes();
	                    var second = Dat.getSeconds();
	                    var key = year +""+ month+""+day+""+hour+""+minute +""+ second;
	                    // do something with key here
	                    return key
	                }
	            }
	    });
	}
	return {
		qiniu_token:qiniu_token,
		uploader_qiniu:uploader_qiniu
	}
});